/*
   FieldVis - A Tool for Visualizing Astrophysical Magnetohydrodynamic Flow
   
   Copyright (C) 2006 - 2008     FieldVis Development Team
  
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.
  
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
  
   You should have received a copy of the GNU General Public License along
   with this program; if not, write to the Free Software Foundation, Inc.,
   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
   File     : TextWriter.h
   Author   : Blayne Field
   
   Purpose  : Definition header file for the TextWriter class.  This class
              holds methods for drawing text to the screen.
*/

#ifndef TEXT_WRITER_H
#define TEXT_WRITER_H

#include <GL/glut.h>
#include <string>


enum Justification {RIGHT_JUST, LEFT_JUST};


class TextWriter
{
public:

   TextWriter(void *font) : theFont(font), charWidth(6), charHeight(8) {  }

   void DrawText(const int x, const int y, const std::string &text, const int just);
  
   int GetCharWidth() const    { return (charWidth); }
   int GetCharHeight() const   { return (charHeight); }

private:
 
   void *theFont;
 
   int charWidth;
   int charHeight;
};

#endif
